1. Field of the Invention
This invention relates to pin interface design, and more particularly to designing a single-pin interface that can identify multiple states.
2. Description of the Related Art
A General Purpose Input/Output interface (GPIO) is typically used in embedded electronics systems to provide a set of I/O ports and/or I/O pins that can be configured as either inputs and/or outputs. In many cases, GPIO pins may support common serial bus protocols such as I2C, Serial Peripheral Interface (SPI) and System Management Bus (SMBus). In many systems, various hardware components and/or integrated circuit (IC) chips may require system level identification of other interconnected or coupled hardware and/or system components. In such cases, one or more GPIO pins configured on any given IC chip may be used for providing system level identification to the IC chip about selected or specified hardware components/elements that are coupled and/or are interfacing with the IC chip.
The conventional method of providing system level identification of hardware components is to interface pull-up/pull-down resistors to selected GPIO pins. Since the input pins of GPIOs are limited to binary states, ‘N’ number of pins would typically be required to provide ‘2N’ states of information (system ID). In many cases, however, as warranted by the functionality of the given IC chip, the number of GPIO pins available for providing system level identification may be limited. It is therefore oftentimes desirable to create a system configurable ID that uses less pins, preferably a single pin, and inexpensive lumped components (e.g. resistors, capacitors, inductors, etc.) To provide more information on a single pin, various methods have been devised to enable the pin to handle more than the two states that is typically provided by pins in digital logic GPIOs. Most current single-pin system level identification methods utilize an analog-to-digital converter (ADC) and external resistor divider circuits to provide system level identification that requires more than two states. While ADCs work well for the system identification task, they typically comprise large and oftentimes complex circuit blocks, making ADC-based solutions somewhat expensive and impractical.
Many other problems and disadvantages of the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.